package com.sky.vo;

import com.sky.entity.OrderDetail;
import com.sky.entity.Orders;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class OrderVO extends Orders implements Serializable {
    // 地址（可选）
    private String address;

    // 地址簿ID（可选）
    private Long addressBookId; // 假设是long类型，因为int64通常映射为Java的long

    // 金额
    private BigDecimal amount;

    // 取消原因（可选）
    private String cancelReason;

    // 取消时间（可选）
    private LocalDateTime cancelTime; // 使用LocalDateTime来匹配date-time类型

    // 结账时间（可选）
    private LocalDateTime checkoutTime;

    // 收货人（可选）
    private String consignee;

    // 配送状态（可选）
    private Integer deliveryStatus;

    // 配送时间（可选）
    private LocalDateTime deliveryTime;

    // 预计配送时间（可选）
    private LocalDateTime estimatedDeliveryTime;

    // 订单ID（可选，但通常这是必须的）
    private Long id;

    // 订单号（可选，但通常与id不同）
    private String number;

    // 订单详情列表（可选）
    private List<OrderDetail> orderDetailList;

    // 下单时间（可选）
    private LocalDateTime orderTime;

    // 包装数量（可选）
    private int packAmount;

    // 支付方式（可选）
    private Integer payMethod;

    // 支付状态（可选）
    private Integer payStatus;

    // 联系电话（可选）
    private String phone;

    // 拒绝原因（可选）
    private String rejectionReason;

    // 备注（可选）
    private String remark;

    // 订单状态（可选）
    private Integer status;

    // 餐具数量（可选）
    private Integer tablewareNumber;

    // 餐具状态（可选）
    private Integer tablewareStatus;

    // 用户ID（可选）
    private Long userId;

    // 用户名（可选）
    private String userName;

    //订单包含的菜品（字符串）
    private String orderDishs;

}
